package reflect;

import sun.misc.ClassLoaderUtil;

import java.io.File;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;

/**
 * 实例化与当前类Test2在同一个包中得所有类
 */
public class Test2 {
    public static void main(String[] args) throws Exception {
        //固定写法，使用哪哥类就定位该类得字节码文件所在得位置
        File dir = new File(
                Test2.class.getResource(".").toURI()
        );
        //通过Test2.class所在得目录获取其中所有子项
        File[] files = dir.listFiles(file->file.getName().endsWith(".class"));//endsWith(".class")--以".class"结尾
        for (File f : files){
            String name = f.getName();
            //根据文件名截取出类名
            String line = name.substring(0,name.indexOf("."));//利用substring方法截取字符串
            Class cla = Class.forName(dir.getName()+"."+line);
            Object obj = cla.newInstance();
            System.out.println(obj);
        }



    }
}
